/**
 * 1. 使用Promise改进代码
 */

/**
 * 通过计时器，每隔10ms执行resolve方法返回最新的值
 * @param value
 * @param resolve
 */
function getValue(value, resolve) {
  setTimeout(() => {
    resolve(value);
  }, 10);
}
/**
 * 返回promise，promise里直接调用getValue用于延迟获取当前的值
 * @param value
 * @returns {Promise<string>}
 */
const getValueP = (value) =>
  new Promise(resolve => getValue(value, resolve));

getValueP('hello')
  .then(value => getValueP(`${value} lagou`))
  .then(value => getValueP(`${value} I ♥ U`))
  .then((value) => {
    console.log(value);
  });
